
package com.chengyu.eyc.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

import org.springframework.format.annotation.DateTimeFormat;

import com.chengyu.eyc.utils.EycGenId;
import com.fasterxml.jackson.annotation.JsonFormat;

import tk.mybatis.mapper.annotation.KeySql;

@Table(name = "eyc_vehicle_file")
public class EycVehicleFile extends BaseModel implements Serializable {

    private static final long serialVersionUID = 1L;

    @KeySql(genId = EycGenId.class)
    @Id
    @Column(name = "VEHICLE_FILE_ID")
    private String vehicleFileId;

    /**
     * 率属客户
     */
    @Column(name = "OPENID")
    private String openid;

    /**
     * 用户ID
     */
    @Column(name = "USER_ID")
    private String userId;

    /**
     * 车牌号
     */
    @Column(name = "PLATE_NUM")
    private String plateNum;

    /**
     * 车辆类型
     */
    @Column(name = "VEHICLE_TYPE")
    private String vehicleType;

    /**
     * 车辆类型名称
     */
    @Column(name = "VEHICLE_TYPE_NME")
    private String vehicleTypeNme;

    /**
     * 能源类型
     */
    @Column(name = "ENERGY")
    private String energy;

    /**
     * 能源类型描述
     */
    @Column(name = "ENERGY_NME")
    private String energyNme;

    /**
     * 所有人
     */
    @Column(name = "OWNER")
    private String owner;

    /**
     * 地址
     */
    @Column(name = "ADDR")
    private String addr;

    /**
     * 使用性质
     */
    @Column(name = "USE_CHARACTER")
    private String useCharacter;

    /**
     * 使用性质描述
     */
    @Column(name = "USE_CHARACTER_NME")
    private String useCharacterNme;

    /**
     * 品牌型号
     */
    @Column(name = "MODE")
    private String mode;

    /**
     * 车辆识别代码
     */
    @Column(name = "VIN")
    private String vin;

    /**
     * 发动机号
     */
    @Column(name = "ENGINE_NUM")
    private String engineNum;

    /**
     * 注册日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Column(name = "REGISTER_DT")
    private Date registerDt;

    /**
     * 登记日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Column(name = "ISSUE_DT")
    private Date issueDt;

    /**
     * 保险到期日
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Column(name = "INSUR_EXP")
    private Date insurExp;

    /**
     * 核定载人数
     */
    @Column(name = "APC")
    private Integer apc;

    /**
     * 总质量(KG)
     */
    @Column(name = "GROSS_MASS")
    private Integer grossMass;

    /**
     * 整备质量
     */
    @Column(name = "UNLADEN_MASS")
    private Integer unladenMass;

    /**
     * 核定载质量
     */
    @Column(name = "APPROVED_LOAD")
    private Integer approvedLoad;

    /**
     * 外廓尺寸(长)(MM)
     */
    @Column(name = "OVERALL_DIMENSION_LENGTH")
    private Integer overallDimensionLength;

    /**
     * 外廓尺寸(宽)(MM)
     */
    @Column(name = "OVERALL_DIMENSION_WIDTH")
    private Integer overallDimensionWidth;

    /**
     * 外廓尺寸(高)(MM)
     */
    @Column(name = "OVERALL_DIMENSION_HIGTH")
    private Integer overallDimensionHigth;

    /**
     * 准牵引总质量
     */
    @Column(name = "TRACTION_MASS")
    private String tractionMass;

    /**
     * 备注
     */
    @Column(name = "COMMENT")
    private String comment;

    /**
     * 检验记录
     */
    @Column(name = "INSPECTION_RECORD")
    private String inspectionRecord;

    /**
     * 条码
     */
    @Column(name = "BARCODE")
    private String barcode;

    @Column(name = "REMARK")
    private String remark;

    @Column(name = "IS_ACTIVE")
    private Boolean isActive;

    /**
     * 默认车辆
     */
    @Column(name = "IS_DEFAULT")
    private Boolean isDefault;

    /**
     * 获取地址
     *
     * @return ADDR - 地址
     */
    public String getAddr() {
        return addr;
    }

    /**
     * 获取核定载人数
     *
     * @return APC - 核定载人数
     */
    public Integer getApc() {
        return apc;
    }

    /**
     * 获取核定载质量
     *
     * @return APPROVED_LOAD - 核定载质量
     */
    public Integer getApprovedLoad() {
        return approvedLoad;
    }

    /**
     * 获取条码
     *
     * @return BARCODE - 条码
     */
    public String getBarcode() {
        return barcode;
    }

    /**
     * 获取备注
     *
     * @return COMMENT - 备注
     */
    public String getComment() {
        return comment;
    }

    /**
     * 获取能源类型
     *
     * @return ENERGY - 能源类型
     */
    public String getEnergy() {
        return energy;
    }

    /**
     * 获取能源类型描述
     *
     * @return ENERGY_NME - 能源类型描述
     */
    public String getEnergyNme() {
        return energyNme;
    }

    /**
     * 获取发动机号
     *
     * @return ENGINE_NUM - 发动机号
     */
    public String getEngineNum() {
        return engineNum;
    }

    /**
     * 获取总质量(KG)
     *
     * @return GROSS_MASS - 总质量(KG)
     */
    public Integer getGrossMass() {
        return grossMass;
    }

    /**
     * 获取检验记录
     *
     * @return INSPECTION_RECORD - 检验记录
     */
    public String getInspectionRecord() {
        return inspectionRecord;
    }

    /**
     * 获取保险到期日
     *
     * @return INSUR_EXP - 保险到期日
     */
    public Date getInsurExp() {
        return insurExp;
    }

    /**
     * @return IS_ACTIVE
     */
    public Boolean getIsActive() {
        return isActive;
    }

    /**
     * 获取默认车辆
     *
     * @return IS_DEFAULT - 默认车辆
     */
    public Boolean getIsDefault() {
        return isDefault;
    }

    /**
     * 获取登记日期
     *
     * @return ISSUE_DT - 登记日期
     */
    public Date getIssueDt() {
        return issueDt;
    }

    /**
     * 获取品牌型号
     *
     * @return MODE - 品牌型号
     */
    public String getMode() {
        return mode;
    }

    /**
     * 获取率属客户
     *
     * @return OPENID - 率属客户
     */
    public String getOpenid() {
        return openid;
    }

    /**
     * 获取外廓尺寸(高)(MM)
     *
     * @return OVERALL_DIMENSION_HIGTH - 外廓尺寸(高)(MM)
     */
    public Integer getOverallDimensionHigth() {
        return overallDimensionHigth;
    }

    /**
     * 获取外廓尺寸(长)(MM)
     *
     * @return OVERALL_DIMENSION_LENGTH - 外廓尺寸(长)(MM)
     */
    public Integer getOverallDimensionLength() {
        return overallDimensionLength;
    }

    /**
     * 获取外廓尺寸(宽)(MM)
     *
     * @return OVERALL_DIMENSION_WIDTH - 外廓尺寸(宽)(MM)
     */
    public Integer getOverallDimensionWidth() {
        return overallDimensionWidth;
    }

    /**
     * 获取所有人
     *
     * @return OWNER - 所有人
     */
    public String getOwner() {
        return owner;
    }

    /**
     * 获取车牌号
     *
     * @return PLATE_NUM - 车牌号
     */
    public String getPlateNum() {
        return plateNum;
    }

    /**
     * 获取注册日期
     *
     * @return REGISTER_DT - 注册日期
     */
    public Date getRegisterDt() {
        return registerDt;
    }

    /**
     * @return REMARK
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 获取准牵引总质量
     *
     * @return TRACTION_MASS - 准牵引总质量
     */
    public String getTractionMass() {
        return tractionMass;
    }

    /**
     * 获取整备质量
     *
     * @return UNLADEN_MASS - 整备质量
     */
    public Integer getUnladenMass() {
        return unladenMass;
    }

    /**
     * 获取使用性质
     *
     * @return USE_CHARACTER - 使用性质
     */
    public String getUseCharacter() {
        return useCharacter;
    }

    /**
     * 获取使用性质描述
     *
     * @return USE_CHARACTER_NME - 使用性质描述
     */
    public String getUseCharacterNme() {
        return useCharacterNme;
    }

    /**
     * 获取用户ID
     *
     * @return USER_ID - 用户ID
     */
    public String getUserId() {
        return userId;
    }

    /**
     * @return VEHICLE_FILE_ID
     */
    public String getVehicleFileId() {
        return vehicleFileId;
    }

    /**
     * 获取车辆类型
     *
     * @return VEHICLE_TYPE - 车辆类型
     */
    public String getVehicleType() {
        return vehicleType;
    }

    /**
     * 获取车辆类型名称
     *
     * @return VEHICLE_TYPE_NME - 车辆类型名称
     */
    public String getVehicleTypeNme() {
        return vehicleTypeNme;
    }

    /**
     * 获取车辆识别代码
     *
     * @return VIN - 车辆识别代码
     */
    public String getVin() {
        return vin;
    }

    /**
     * 设置地址
     *
     * @param addr 地址
     */
    public void setAddr(String addr) {
        this.addr = addr == null ? null : addr.trim();
    }

    /**
     * 设置核定载人数
     *
     * @param apc 核定载人数
     */
    public void setApc(Integer apc) {
        this.apc = apc;
    }

    /**
     * 设置核定载质量
     *
     * @param approvedLoad 核定载质量
     */
    public void setApprovedLoad(Integer approvedLoad) {
        this.approvedLoad = approvedLoad;
    }

    /**
     * 设置条码
     *
     * @param barcode 条码
     */
    public void setBarcode(String barcode) {
        this.barcode = barcode == null ? null : barcode.trim();
    }

    /**
     * 设置备注
     *
     * @param comment 备注
     */
    public void setComment(String comment) {
        this.comment = comment == null ? null : comment.trim();
    }

    /**
     * 设置能源类型
     *
     * @param energy 能源类型
     */
    public void setEnergy(String energy) {
        this.energy = energy == null ? null : energy.trim();
    }

    /**
     * 设置能源类型描述
     *
     * @param energyNme 能源类型描述
     */
    public void setEnergyNme(String energyNme) {
        this.energyNme = energyNme == null ? null : energyNme.trim();
    }

    /**
     * 设置发动机号
     *
     * @param engineNum 发动机号
     */
    public void setEngineNum(String engineNum) {
        this.engineNum = engineNum == null ? null : engineNum.trim();
    }

    /**
     * 设置总质量(KG)
     *
     * @param grossMass 总质量(KG)
     */
    public void setGrossMass(Integer grossMass) {
        this.grossMass = grossMass;
    }

    /**
     * 设置检验记录
     *
     * @param inspectionRecord 检验记录
     */
    public void setInspectionRecord(String inspectionRecord) {
        this.inspectionRecord = inspectionRecord == null ? null : inspectionRecord.trim();
    }

    /**
     * 设置保险到期日
     *
     * @param insurExp 保险到期日
     */
    public void setInsurExp(Date insurExp) {
        this.insurExp = insurExp;
    }

    /**
     * @param isActive
     */
    public void setIsActive(Boolean isActive) {
        this.isActive = isActive;
    }

    /**
     * 设置默认车辆
     *
     * @param isDefault 默认车辆
     */
    public void setIsDefault(Boolean isDefault) {
        this.isDefault = isDefault;
    }

    /**
     * 设置登记日期
     *
     * @param issueDt 登记日期
     */
    public void setIssueDt(Date issueDt) {
        this.issueDt = issueDt;
    }

    /**
     * 设置品牌型号
     *
     * @param mode 品牌型号
     */
    public void setMode(String mode) {
        this.mode = mode == null ? null : mode.trim();
    }

    /**
     * 设置率属客户
     *
     * @param openid 率属客户
     */
    public void setOpenid(String openid) {
        this.openid = openid == null ? null : openid.trim();
    }

    /**
     * 设置外廓尺寸(高)(MM)
     *
     * @param overallDimensionHigth 外廓尺寸(高)(MM)
     */
    public void setOverallDimensionHigth(Integer overallDimensionHigth) {
        this.overallDimensionHigth = overallDimensionHigth;
    }

    /**
     * 设置外廓尺寸(长)(MM)
     *
     * @param overallDimensionLength 外廓尺寸(长)(MM)
     */
    public void setOverallDimensionLength(Integer overallDimensionLength) {
        this.overallDimensionLength = overallDimensionLength;
    }

    /**
     * 设置外廓尺寸(宽)(MM)
     *
     * @param overallDimensionWidth 外廓尺寸(宽)(MM)
     */
    public void setOverallDimensionWidth(Integer overallDimensionWidth) {
        this.overallDimensionWidth = overallDimensionWidth;
    }

    /**
     * 设置所有人
     *
     * @param owner 所有人
     */
    public void setOwner(String owner) {
        this.owner = owner == null ? null : owner.trim();
    }

    /**
     * 设置车牌号
     *
     * @param plateNum 车牌号
     */
    public void setPlateNum(String plateNum) {
        this.plateNum = plateNum == null ? null : plateNum.trim();
    }

    /**
     * 设置注册日期
     *
     * @param registerDt 注册日期
     */
    public void setRegisterDt(Date registerDt) {
        this.registerDt = registerDt;
    }

    /**
     * @param remark
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 设置准牵引总质量
     *
     * @param tractionMass 准牵引总质量
     */
    public void setTractionMass(String tractionMass) {
        this.tractionMass = tractionMass == null ? null : tractionMass.trim();
    }

    /**
     * 设置整备质量
     *
     * @param unladenMass 整备质量
     */
    public void setUnladenMass(Integer unladenMass) {
        this.unladenMass = unladenMass;
    }

    /**
     * 设置使用性质
     *
     * @param useCharacter 使用性质
     */
    public void setUseCharacter(String useCharacter) {
        this.useCharacter = useCharacter == null ? null : useCharacter.trim();
    }

    /**
     * 设置使用性质描述
     *
     * @param useCharacterNme 使用性质描述
     */
    public void setUseCharacterNme(String useCharacterNme) {
        this.useCharacterNme = useCharacterNme == null ? null : useCharacterNme.trim();
    }

    /**
     * 设置用户ID
     *
     * @param userId 用户ID
     */
    public void setUserId(String userId) {
        this.userId = userId == null ? null : userId.trim();
    }

    /**
     * @param vehicleFileId
     */
    public void setVehicleFileId(String vehicleFileId) {
        this.vehicleFileId = vehicleFileId == null ? null : vehicleFileId.trim();
    }

    /**
     * 设置车辆类型
     *
     * @param vehicleType 车辆类型
     */
    public void setVehicleType(String vehicleType) {
        this.vehicleType = vehicleType == null ? null : vehicleType.trim();
    }

    /**
     * 设置车辆类型名称
     *
     * @param vehicleTypeNme 车辆类型名称
     */
    public void setVehicleTypeNme(String vehicleTypeNme) {
        this.vehicleTypeNme = vehicleTypeNme == null ? null : vehicleTypeNme.trim();
    }

    /**
     * 设置车辆识别代码
     *
     * @param vin 车辆识别代码
     */
    public void setVin(String vin) {
        this.vin = vin == null ? null : vin.trim();
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", vehicleFileId=").append(vehicleFileId);
        sb.append(", openid=").append(openid);
        sb.append(", userId=").append(userId);
        sb.append(", plateNum=").append(plateNum);
        sb.append(", vehicleType=").append(vehicleType);
        sb.append(", vehicleTypeNme=").append(vehicleTypeNme);
        sb.append(", energy=").append(energy);
        sb.append(", energyNme=").append(energyNme);
        sb.append(", owner=").append(owner);
        sb.append(", addr=").append(addr);
        sb.append(", useCharacter=").append(useCharacter);
        sb.append(", useCharacterNme=").append(useCharacterNme);
        sb.append(", mode=").append(mode);
        sb.append(", vin=").append(vin);
        sb.append(", engineNum=").append(engineNum);
        sb.append(", registerDt=").append(registerDt);
        sb.append(", issueDt=").append(issueDt);
        sb.append(", insurExp=").append(insurExp);
        sb.append(", apc=").append(apc);
        sb.append(", grossMass=").append(grossMass);
        sb.append(", unladenMass=").append(unladenMass);
        sb.append(", approvedLoad=").append(approvedLoad);
        sb.append(", overallDimensionLength=").append(overallDimensionLength);
        sb.append(", overallDimensionWidth=").append(overallDimensionWidth);
        sb.append(", overallDimensionHigth=").append(overallDimensionHigth);
        sb.append(", tractionMass=").append(tractionMass);
        sb.append(", comment=").append(comment);
        sb.append(", inspectionRecord=").append(inspectionRecord);
        sb.append(", barcode=").append(barcode);
        sb.append(", remark=").append(remark);
        sb.append(", isActive=").append(isActive);
        sb.append(", isDefault=").append(isDefault);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

}